// ********************************************************************************************
// Este archivo fuente es propiedad de Feria de Remates S.R.L. de C.V. Prohibida su copia o uso
// sin autorización explícita.
// This source file is propietary to Feria de Remates S.R.L. de C.V. May not be used or copied
// without explicit authorization.
// ********************************************************************************************/

package com.feriaderemates.dao.user;

import com.feriaderemates.domain.userAccount.UserFeedback;
import java.util.List;

/**
 *
 * @author Oscar García
 */
public interface UserFeedbackDaoInterface {
    
    /**
     * Gets received user's feedback 
     * 
     * @param receiverUserId the user that received the feedback
     * @return the list of Feedback
     */
    public List<UserFeedback> getReceivedUserFeedback(int receiverUserId);
    
    /**
     * Gets feedback that a user sent 
     * 
     * @param senderUserId the user that sent the feedback
     * @return the list of Feedback
     */
    public List<UserFeedback> getSentUserFeedback(int senderUserId);
    
    /**
     * Add feedback to a user
     * 
     * @param userFeedback the feedback to add
     * @return the new feedback identifier
     */
    public int addUserFeedback(UserFeedback userFeedback);
    
    /**
     * Updates a feedback for a user. Fields to update are:
     * Message, feedbackLevel and date to NOW().
     * 
     * @param userFeedback the feedback to update
     */
    public void updateUserFeedback(UserFeedback userFeedback);
    
    /**
     * Deletes a feedback with the given userFeedbackId;
     * 
     * @param userFeedbackId 
     */
    public void deleteUserFeedback(int userFeedbackId);

}
